# 事件  操作了 键盘 和 鼠标  就出发了相应的事件
# 绑定 ： 组件  --》 处理一个事件的  函数


import tkinter

root = tkinter.Tk()
root.geometry('800x600')

# 创建绑定

button1 = tkinter.Button(root,text='button1',command=lambda :print('sss'))
                                            # 绑定事件的一种方式
button1.pack()


# 事件格式 <modifier - type>



# 实例绑定
#       button
# def pressButton2(event):A
#     print('Button2.bind')
# button2 = tkinter.Button(root,text='button2')
# button2.bind('<Button - 1>',pressButton2)
# Button-1 鼠标左键，2 滑轮，3 鼠标右键
# button.place(relx=0.3,rely=0.4)


#      entry
def pressEntry1(event):
    print('Entry.bind')
entry1 = tkinter.Entry(root)
# entry1.bind('<KeyPress - 1>',pressButton3)
#             按下
entry1.bind('<KeyRelease - 1>',pressEntry1)
#            Button-1 鼠标左键，2 滑轮，3 鼠标右键


entry1.place(relx=0.3,rely=0.4)


#     label
def pressLabeln(event):
    print('Entry.bind')
Labe1n = tkinter.Label(root,text='Labeln')

# Labe1n.bind('<Control - KeyRelease - n>',pressLabeln)
#       组合键   Control  Shift  Alt
#            Entry       鼠标进入
#            Leave       鼠标离开
#           Motion       鼠标拖动
#           MouseWheel   鼠标滚动

#    窗口事件
#          <'FocusIn>   组件获取焦点时触发，
#          <'FocusOut>  组件失去焦点时触发
#          <Visibiliy>  为可视状态时触发
#          <Destroy>    当窗口销毁或组件被销毁时触发
#          <Unmap>      当窗口小化或组件由   显示状态  变为    隐藏状态时    触发
#          <Map>        当窗口放大或组件由   隐藏状态  变为    显示状态时    触发
# Labe1n.bind('<Unmap>',pressLabeln)
# Labe1n.bind('<Map>',pressLabeln)
Labe1n.bind('<Destroy>',pressLabeln)
Labe1n.focus()
#    控制焦点


Labe1n.place(relx=0.4,rely=0.5)














root.mainloop()